Set "accepts-pdf" property to true only if supported by the print backend
authorAdrian Johnson <ajohnson@redneon.com>
Tue, 28 Dec 2010 14:48:02 +0000 (01:18 +1030)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 3 Jan 2011 13:14:34 +0000 (08:14 -0500)
gtk/gtkprinter.c
modules/printbackends/cups/gtkprintercups.c
modules/printbackends/file/gtkprintbackendfile.c

index 7e8c4d0a8af23393d1193b98433c362b2143c9be..fdb6c801cb6fc7a9953c5f7cdf8e2663ba07e3ff 100644 (file)
@@ -145,7 +145,7 @@ gtk_printer_class_init (GtkPrinterClass *class)
                                    g_param_spec_boolean ("accepts-pdf",
                                                         P_("Accepts PDF"),
                                                         P_("TRUE if this printer can accept PDF"),
-                                                        TRUE,
+                                                        FALSE,
                                                         GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
   g_object_class_install_property (G_OBJECT_CLASS (class),
                                    PROP_ACCEPTS_PS,
@@ -256,7 +256,7 @@ gtk_printer_init (GtkPrinter *printer)
   priv->is_accepting_jobs = TRUE;
   priv->is_new = TRUE;
   priv->has_details = FALSE;
-  priv->accepts_pdf = TRUE;
+  priv->accepts_pdf = FALSE;
   priv->accepts_ps = TRUE;
 
   priv->state_message = NULL;  
index 09818c35050ed289f69655d57e2e5af432671d08..8b3f85c06a865c7bcd9d3e033950c94d532679ae 100644 (file)
@@ -127,11 +127,19 @@ gtk_printer_cups_new (const char      *name,
                      GtkPrintBackend *backend)
 {
   GObject *result;
-  
+  gboolean accepts_pdf;
+
+#if (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR >= 2) || CUPS_VERSION_MAJOR > 1
+  accepts_pdf = TRUE;
+#else
+  accepts_pdf = FALSE;
+#endif
+
   result = g_object_new (GTK_TYPE_PRINTER_CUPS,
                         "name", name,
                         "backend", backend,
                         "is-virtual", FALSE,
+                        "accepts-pdf", accepts_pdf,
                          NULL);
 
   return (GtkPrinterCups *) result;
index fee3d38bc5a1581561c30277c43c034f8097c3ee..7f0bd3532e1b146c64a1b60660359ff14c8e69b3 100644 (file)
@@ -501,6 +501,7 @@ gtk_print_backend_file_init (GtkPrintBackendFile *backend)
                          "name", _("Print to File"),
                          "backend", backend,
                          "is-virtual", TRUE,
+                         "accepts-pdf", TRUE,
                          NULL); 
 
   gtk_printer_set_has_details (printer, TRUE);